Automatic call distributors (ACDs), also referred to as automatic call distribution systems, are computerized queues which are an adjunct to a private branch exchange (PBX) and route calls from customers waiting in the queue to agents who are members of the queue. Such systems are used, for example, in a company's customer service department receiving a high volume of calls. In order to efficiently process the incoming calls; the ACD selects an appropriate agent for a particular call and routes the call to a terminal for the agent. The agent terminal typically includes an associated computer so that the agent may access information from a database relevant to processing customer calls, such as relevant customer service information.
In some systems, incoming calls may be routed both by the ACDs within a PBX and other external processes. These external processes can achieve call control functionality at external control points within the PBX. However, if both the ACD and some external routing process attempt to simultaneously transfer calls to the same agent terminal, a situation referred to as a call collision may occur. In this situation, a call transferred from the ACD arrives first at the agent terminal and a time delay occurs in the external process being notified via a computer telephony integration (CTI) link that the agent terminal is busy. Before receiving the busy notification, the external routing process directs the PBX to route its call to the agent terminal as well, and that call will receive a busy signal, since the agent is processing the call from the ACD. Having received a busy signal, the call is unrecoverable from the PBX and hence lost, meaning that the caller must retry the call in order to obtain a connection with an agent. Lost calls reduce the effectiveness of an ACD in processing customer calls and result in poor customer service.
Accordingly, a need exists for an improved method of routing calls in a telephone system and for routing of calls from multiple sources to agents.